A network switch is a networking device that interconnects and manages communications among multiple devices in a computer network by using packet switching. A network switch typically includes control logic and operates to process received network packets through multiple processing stages and route the packets to other network devices. Ethernet network switches are a most common form of network switches.
In a network switch having a virtual output queue (VOQ)-based architecture, packets received at the ingress ports are enqueued into VOQs based on the destination egress ports and then directed to the egress ports through a switching fabric, e.g., a cross-bar switch. VOQ-based packet switching offers significantly higher network processing bandwidths than output queue-based switching which requires much large memory speeds for packet buffering.
Interface channelization is an effective mechanism to enhance network switch throughputs. In a channelized interface of a network switch, multiple ingress/egress ports of the switch can be logically grouped into one port (or port group) through configuration. Interface channelization provides expanded bandwidth but adds complexity to the network switch designs.
Further, for packet handling, according to a conventional store-and-forwarding approach, the ingress logic needs to fully receive and save each incoming packets in a buffer before forwarding the packet to the egress port. This requires a packet be stored and forwarded a second time at the egress side and thus causes very long packet-in-and-out latency in the system. In comparison, a cut-through approach offers much lower system latency as a packet can be forwarded from the ingress port to an egress port before it is fully received at the input port. However, cut-through switching requires, once started forwarding, a packet should be continuously scheduled and forwarded to the egress port in a constant speed. Otherwise, packet errors will occur.